1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to a computer implemented method for managing data in a distributed data processing environment. Still more particularly, the present invention relates to a computer implemented method, system, and computer usable program code for managing multi-node multi-version systems.
2. Description of the Related Art
Present data processing environments include software applications, components of those applications, and copies thereof distributed across data networks. Operating an application in a distributed form is executing components or copies of the application on more than one data processing system in a way that the components or copies appear to be a single application with respect to another application.
A component of an application may be a portion of the application collaborating with other portions of the application. A component may also be a complete application collaborating with other applications such that the collaboration gives the appearance of an application that is larger than the component application.
In a distributed data processing environment, components of an application may operate as individual nodes on separate data processing systems. A node may be software, hardware, or a combination thereof, that is identifiable and accessible on a data network. Nodes communicate with each other, thereby facilitating communication between the components and making the overall application functional.
Users, such as a system administrator, update or modify the nodes of a distributed data processing environment from time to time. The process of updating may include correcting an error in a component executing at a node, adding additional functionality to a node, or modifying a behavior of a node by modifying the code of a component. Of course, a user may apply many other types of updates to a node in a given distributed data processing environment.
For example, in some instances, an update may include modifying substantive data that the component executing at a node presents or manipulates. In some cases, modifying the code and modifying the data may both occur in updating a node.
The nodes of a distributed data processing environment can achieve different versions through the process of updates. A node may not at the same version as another node due to the updates applied or not applied to the node. Regardless, whether the nodes are at same or different versions, the overall application should remain functional and the nodes should still be able to communicate with each other. In other words, users expect the application and nodes to continue to function as intended despite the differing versions of code or data at the various nodes.